package collections_;

import java.util.*;

@SuppressWarnings({"all"})
public class Collections_ {
    public static void main(String[] args) {

        //创建ArrayList 集合 用于测试
        //
        List list = new ArrayList();
        list.add("tom");
        list.add("smith");
        list.add("king");
        list.add("milan");

        Collections.reverse(list);
        System.out.println(list);

        //shuffle(List) ： 对List集合元素进行随机排序

        for (int i = 0; i < 5 ; i++) {
            Collections.shuffle(list);//随机排序
            System.out.println(list);
        }

        Collections.sort(list);
        Collections.sort(list, new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                //可以加入校验代码
                return ((String)o1).length() - ((String)o2).length();
            }
        });

        System.out.println("=========自然排序后=========");
        System.out.println(list);

        Collections.swap(list, 0, 2);
        System.out.println("=========swap后=========");

        System.out.println(list);
        //Object max(Collection) 根据Comparator制定的顺序 ， 返回给定集合中的最大元素
        //比如 ， 我们要返回 长度最大的元素
        Object maxO = Collections.max(list, new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                return ((String)o1).length() - ((String)o2) .length();
            }
        });


        System.out.println("长度最大元素为=" + maxO);


        System.out.println("tom的出现的次数" + Collections.frequency(list,"tom"));

        

    }
}
